home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 21 / CU Amiga Magazine's Super CD-ROM 21 (1998)(EMAP Images)(GB)[!][issue 1998-04].iso / CUCD / Programming / RTGMaster / demos / moon / mul_and_div.a < prev    next >
Text File  |  1996-10-12  |  2KB  |  79 lines

  1.         XDEF _mul_and_div
  2.         XDEF _dot_product
  3.         XDEF _rotate
  4.         XDEF _copy
  5.         section text,code
  6.  
  7.        
  8. _mul_and_div:
  9.        fmove.l d0,fp0
  10.        fmove.l d1,fp1
  11.        fmul.x fp0,fp1 ; .x und NICHT .l
  12.        fdiv.l d2,fp1 ; .l und NICHT .x
  13.        fmove.l fp1,d0
  14.        rts
  15.  
  16. _dot_product:
  17.        fmove.l d0,fp0
  18.        fmove.l d1,fp1
  19.        fmove.l d2,fp2
  20.        fmove.l d3,fp3
  21.        fmul.x fp0,fp2
  22.        fmul.x fp1,fp3
  23.        fadd.x fp2,fp3
  24.        fdiv.l #65536,fp3
  25.        fmove.l fp3,d0
  26.        rts
  27.  
  28. _rotate:
  29.        move.l d2,-(sp)
  30.        fmove.l d0,fp0
  31.        fmove.l d1,fp1
  32.        move.l (a1),d2
  33.        fmove.l (a0),fp2
  34.        fmove.l (a1),fp3
  35.        fmul.x fp0,fp2
  36.        fmul.x fp1,fp3
  37.        fadd.x fp2,fp3
  38.        fdiv.l #65536,fp3
  39.        fmove.l fp3,(a1)
  40.        move.l d1,d4
  41.        sub.l d1,d1
  42.        sub.l d0,d1
  43.        move.l d4,d0
  44.        fmove.l d0,fp0
  45.        fmove.l d1,fp1
  46.        fmove.l (a0),fp2
  47.        fmove.l d2,fp3
  48.        fmul.x fp0,fp2
  49.        fmul.x fp1,fp3
  50.        fadd.x fp2,fp3
  51.        fdiv.l #65536,fp3
  52.        fmove.l fp3,(a0)
  53.        move.l (sp)+,d2
  54.        rts
  55.  
  56. _copy:
  57.        movem.l a2/d2-d4,-(sp)
  58.        move.l #copyl,a2
  59.        add.l d0,a2
  60.        move.l (a2),a2
  61.        jmp (a2)
  62. copy0:
  63.        move.l #3999,d0
  64. loop:
  65.        move.l (a0)+,d1
  66.        move.l (a0)+,d2
  67.        move.l (a0)+,d3
  68.        move.l (a0)+,d4
  69.        move.l d1,(a1)+
  70.        move.l d2,(a1)+
  71.        move.l d3,(a1)+
  72.        move.l d4,(a1)+
  73.        dbra d0,loop
  74.        movem.l (sp)+,a2/d2-d4
  75.        rts
  76. copyl:
  77.        dc.l copy0
  78.        END
  79.